1.0. System
In one glance
- You will: Prepare the locked Python runtime and distinguish learner, contributor, and platform installations.
- You need: Python familiarity, git, and a Linux, macOS, or WSL2 terminal.
- Time: about 15 minutes, hands-on.
How do you install the learner environment?
Install mise, activate it in your shell, then run the small learner installation.
git clone https://github.com/MLOps-Courses/agentops-open-course.git
cd agentops-open-course
mise run install:learner
mise run check:labs
The installer adds pinned uv and the locked Python runtime at agents/python/.venv. It does not install Kubernetes, cloud CLIs, documentation tooling, git hooks, or the evaluation stack. It downloads packages but makes no model call.
You already know venv and pip; uv manages the same Python environment and locks dependency versions. 1.1. Python explains the repository-specific commands.
Which tools belong to each part?
Add tools when the lesson needs them.
| Installation | When to use it | What it adds |
|---|---|---|
mise run install:learner |
First laptop exercise | uv and the locked agent runtime |
mise run install |
Reference development and Chapter 4 | Contributor tools, docs environment, test dependencies, and git hooks |
cd agents/python && mise run install:eval |
MLflow evaluation exercises | The optional evaluation group |
mise run install:platform |
Part II | Kubernetes tools and the separate MLflow server environment |
mise run install:gcp |
Optional GKE extension | Google Cloud CLI and its authentication plugin |
mise run install:maintainer |
Maintaining this repository | Every full-gate dependency |
Do not use bare mise install for the first exercise: it selects all declared tools. The fully qualified local Kubernetes platform has stricter hardware and OS requirements than the laptop developer part; SUPPORT.md owns that contract.
How do contributors validate the complete reference?
Contributors use a larger installation because they maintain source, tests, infrastructure, and the course site.
From a fresh checkout, the contributor sequence is:
git clone https://github.com/MLOps-Courses/agentops-open-course.git
cd agentops-open-course
mise run install
mise run doctor
mise run check:core
mise run test
This is separate from the first learner exercise. These deterministic gates make no model calls. mise run check additionally validates infrastructure and refreshes dependency advisories; mise run scan checks secrets, vulnerabilities, and configuration.
What do the diagnostic profiles check?
Each doctor verifies the tools or services needed by a particular profile.
The base doctor checks git, uv, dprint, sqlite3, jq, lychee, shfmt, shellcheck, and actionlint, plus both contributor Python environments.
- model adds
curlandollamafor the optional local-model path. - gateway adds
curl,docker,openssl, andyq. - platform adds
rg,k3d,kubectl,helm,helmfile,skaffold,kubeconform,kube-linter,agentgateway,promtool,sops, andage-keygen. - gcp adds
rg,kubectl,helm,helmfile,skaffold,kubeconform,tofu,tflint,gcloud, andgke-gcloud-auth-plugin.
The source owns the executable tool lists:
readonly -a base_tools=(git uv dprint sqlite3 jq lychee shfmt shellcheck actionlint)
readonly -a model_tools=(curl ollama)
readonly -a gateway_tools=(curl docker openssl yq)
readonly -a platform_tools=(
rg k3d kubectl helm helmfile skaffold kubeconform kube-linter agentgateway promtool sops age-keygen
)
readonly -a gcp_platform_tools=(rg kubectl helm helmfile skaffold kubeconform tofu tflint)
readonly -a gcp_tools=(gcloud gke-gcloud-auth-plugin)
For Gemini laptop development, use mise run config:check. It checks configuration without sending a prompt. doctor:model specifically probes Ollama and is not a Gemini requirement.
What proves this page worked?
mise run check:labs
You are done when:
- The worked checkpoints pass in the locked runtime; you will create your own step 1 in First Agent.
- You know which install task to use when you later reach evaluation or platform lessons.
- You have not installed a local model or started infrastructure merely to finish setup.
Continue to 1.1. Python for the small set of repository commands.